const app = '/lesson-admin';
onload = () => {
    //分页查询用户数据
    pageBanner(1, 12);
};

//分页查询用户数据
function pageBanner(page, size) {
    ajax({
        'url': app + `/api/v1/banner/page?page=${page}&size=${size}`,
        'success': res => {
            if (res.code < 1) {
                alert(res.message);
            }
            //查询成功
            else {
                console.log(res)
                //抓取响应数据:对应voPage里的数据
                let banner = res.data['banner-vos'];
                //抓取表格的Tbody
                let bannerTBody = document.querySelector('#bannerTbody');
                //将查询出来的数据渲染到表格之中
                renderBanner(banner, bannerTBody);
                // 获取响应中的分页数据

                let page = res.data['page'];
                let size = res.data['size'];
                let pages = res.data['pages'];
                let total = res.data['total'];
                let pageNums = res.data['page-nums'];
                let pageUl = document.querySelector('#pageUl');
                // 将查询出来的分页数据渲染到分页列表中
                renderPage(page, size, pages, total, pageNums, pageUl);
            }
        }
    })
}
//添加框架
function renderBanner(banners, bannerTBody) {
    //每次添加数据之前都清空表格的内容，防止追加
    bannerTBody.innerHTML = '';
    let td, tr;
    for (let i = 0, j = banners.length; i < j; i++) {
        tr = document.createElement('tr');
        //第一列
        td = document.createElement('td');
        td.innerHTML = `<input type="checkbox"/>`;
        tr.appendChild(td);
        //第二列
        td = document.createElement('td');
        td.innerHTML = i + 1 + '';
        tr.appendChild(td);
        //第三列
        td = document.createElement('td');
        td.innerHTML = banners[i]['banner-url']
        tr.appendChild(td);
        //第四列
        td = document.createElement('td');
        td.innerHTML = banners[i]['banner_index']
        tr.appendChild(td);
        //第五列
        td = document.createElement('td');
        td.innerHTML = banners[i]['create_time']
        tr.appendChild(td);
        //第六列
        td = document.createElement('td');
        td.innerHTML = banners[i]['modify_time']
        tr.appendChild(td);
        //第七列
        td = document.createElement('td');
        td.style['text-align'] = 'center'
        td.style['padding'] = '0'
        td.innerHTML = `<a href="" class="btn btn-link btn-sm text-info px-0">详情</a>
<a href="" class="btn btn-link btn-sm text-warning px-0">修改</a>`
        tr.appendChild(td);
        //追加tr
        bannerTBody.appendChild(tr);
    }
}

function renderPage(page, size, pages, total, pageNums, pageUl) {
    //每次添加数据之前都清空表格的内容，防止追加
    pageUl.innerHTML = '';
    let li;
    li = document.createElement('li');
    li.classList.add('page-item');
    li.innerHTML = `<a class="page-link" href="javascript:void(0)" onclick="pageBanner(${page}-1,${size})">&laquo;</a>`
    //若当前页面为1则禁用上一页
    if (page<=1){
        li.classList.add('disabled');
    }
    pageUl.appendChild(li);
    for (let i=0;i<pageNums.length;i++){
        //数字页码
        li = document.createElement('li');
        li.innerHTML=`<a class="page-link" href="javascript:void(0)" onclick="pageBanner(${i+1},${size})">${pageNums}</a>`;
        pageUl.appendChild(li);
        if (i+1===page){
            li.classList.add('active');
        }
    }
    //下一页
    li=document.createElement('li');
    li.classList.add('page-item');
    li.innerHTML = `<a class="page-link" href="javascript:void(0)" onclick="pageBanner(${page}+1,${size})">&raquo;</a>`
    if (page<pages){
        li.classList.add('disabled');
    }
    pageUl.appendChild(li);

}
/*修改用户信息*/
function update(banner){
    // 将当前点击的用户的全部数据存储起来
    sessionStorage.setItem('banner', JSON.stringify(banner));
    // 跳转到用户修改页面
    location.href = '../banner/banner-update.html';
}
/*批量删除用户信息*/
function batchDelete() {

    // 抓取表格的tbody
    let bannerTbody = document.querySelector('#bannerTbody');

    // 抓取表格中所有被选中的cbx
    let cbx = bannerTbody.querySelectorAll('input[type=checkbox]:checked');

    // 危险操作保护
    if (confirm(`将要删除 ${cbx.length} 条数据，确定吗？`)) {

        // 准备数据
        let params = '';
        for (let i = 0, j = cbx.length; i < j; i++) {
            params += 'banner-ids=' + cbx[i].value;
            if (i < j - 1) {
                params += '&';
            }
        }

        // 发送删除请求
        ajax({
            'url': app+ `/api/v1/banner/delete-by-banner-id`,
            'type': 'post',
            'data': {'banner-ids': params},
            'success': res => {
                if (res.code > 0) {
                    alert('删除成功!')
                    location.href = '../../view/banner/banner.html';
                } else alert(res.message);
            }
        });
    }
}

